package com.atguigu.bigdata.spark

import org.apache.spark.{SparkConf, SparkContext}


object Spark02_Oper2 {

  def main(args: Array[String]): Unit = {
    //创建SparkConf
    //s设定spark计算框架的运行环境
    val config: SparkConf = new SparkConf().setMaster("local[*]").setAppName("wordCount")
    //创建Spark上下文环境
    val sc = new SparkContext(config)
//    map算子
    val listRDD = sc.makeRDD(1 to 10)
//    mapPartitions可以对一个RDD中所有的分区进行遍历
//    mapPartitions效率优于map算子，减少了发送到执行器执行的交互次数
//    mapPartitions可能导致内存溢出（OOM)
    val mapPartition = listRDD.mapPartitions(x=>{x.map(y=>y*2)})
    mapPartition.collect().foreach(println)


  }
}
